node '%(SHORTHOSTNAME)s' {

  class cls_%(SHORTHOSTNAME)s_network {
    setupNetwork {network:
      hostname => "%(FQDN)s",
    }
    
    setupDNS {dns:
      dns=>["%(DNS)s"],
      searchdomain=>["%(DOMAINNAME)s"],
    }

    setupEth {eth0:
      device=>"eth0",
      bootproto=>"static",
      netmask=>"%(PUBLICNETMASK)s",
      ipaddr=>"%(PUBLICIP)s",
    }
    
    setupEth {eth1:
      device=>"eth1",
      bootproto=>"none",
      bridge=>"privatebr",
    }

    setupEth {privatebr:
      device=>"privatebr",
      bootproto=>"static",
      devtype=>"Bridge",
      netmask=>"%(PRIVATENETMASK)s",
      ipaddr=>"%(PRIVATEIP)s",
      gateway=>"%(GATEWAY)s",
    }
  }

  include cls_%(SHORTHOSTNAME)s_network

  at3_security { def_%(SHORTHOSTNAME)s_security:
    ethgreen=>"privatebr",
    domasq=>false,
    require=>Class["cls_%(SHORTHOSTNAME)s_network"],
  }

  at3_ganglia_daemon{ def_%(SHORTHOSTNAME)s_ganglia_daemon:
    gangliasrvaddr=>"%(GANGLIASRVADDR)s",
    require=>At3_security["def_%(SHORTHOSTNAME)s_security"],
  }
  
  at3_ldapclient{ def_%(SHORTHOSTNAME)s_ldapclient:
    ldapsuffix=>"%(LDAPSUFFIX)s",
    ldapuri=>"ldap://%(LDAPHOSTNAME)s/",
    require => At3_security["def_%(SHORTHOSTNAME)s_security"],
  }

  at3_nfsclient { def_%(SHORTHOSTNAME)s_nfscondor:
    source=>"%(NFSHOST)s:/export/condor",
    dest=>"/export/condor",
  }
  
  at3_nfsclient { def_%(SHORTHOSTNAME)s_nfshome:
    source=>"%(NFSHOST)s:/export/home",
    dest=>"/export/home",
  }

  at3_condorhead { def_%(SHORTHOSTNAME)s_condorhead:
    nfsserverclientmount=>"/export/condor",
    filesystemdomain=>"%(CONDORFILESYSTEMDOMAIN)s",
    condorpassword=>"%(CONDORPASSWORD)s",
    condor_allow_negotiator_extra=>"%(PRIVATEIP)s",
    require => At3_nfsclient["def_%(SHORTHOSTNAME)s_nfscondor"]
  }
  
#  at3_xrootdhead { def_%(SHORTHOSTNAME)s_xrootdhead:
#    fqdnRedirector => "%(FQDN)s", 
#    fuse           => true,
#  }    

}

